#ifndef XMLDEFINITIONS_H 
#define XMLDEFINITIONS_H

#define VERTEX_XML "vertex"

#define NAME_XML "name"
#define TOTAL_XML "total"
#define PERMUTATIONS_XML "permutations"

#define RELATED_PERMUTATIONS_XML "RelatedPerms"
#define RELATED_PERMUTATION_XML "RelatedPerm"
#define VERTEX_XML "vertex"

#define CHAIN_XML "singleChain"
#define CHAIN_NAME_XML "chainName"
#define CHAIN_LENGTH_XML "length"
#define CHAIN_SUMMARY_XML "summery"

#define GROUP_XML "indipendentGroup"
#define GROUP_NAME_XML "groupName"
#define GROUP_SIZE_XML "groupSize"

#define MULTIPLE_CHAINS_XML "multipuleChains"
#define MULTIPLE_CHAINS_NAMESPACE_ATTR_XML "xmlns"
#define MULTIPLE_CHAINS_NAMESPACE_XML "http://www.w3schools.com"
#define MULTIPLE_CHAINS_NAMSPACE_XSI_ATTR_XML "xmlns:xsi"
#define MULTIPLE_CHAINS_NAMESPACE_XSI_XML "http://www.w3.org/2001/XMLSchema-instance"
#define MULTIPLE_CHAINS_SCHEMA_ATTR_XML "xsi:noNamespaceSchemaLocation"
#define MULTIPLE_CHAINS_SCHEMA_XML "multipuleChains.xsd"

#define XML_DECLARATION "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"

//file names
#define INPUT_FILE_NAME "input.xml"

//genreal xml tag names
#define INPUT_XML_GENERAL "general"
#define INPUT_XML_N "n"
#define INPUT_XML_W "w"
#define INPUT_XML_DESTINATION_COLORING "destinationColoring"
#define INPUT_XML_DESTINATION_COLORING_GROUP "group"
#define INPUT_XML_IMPROVED_COLORING "improvedColoringOnly"

//graph coloring specific tag names
#define INPUT_XML_GRAPH_COLORING "graphColoring"
#define	INPUT_XML_NUM_ITERATIONS_GREEDY	"numberOfIterationsForGreedySearch"
#define	INPUT_XML_BREACK_PERCENT "breakingPercentage"
#define	INPUT_XML_BREACK_ITERATION_GROUP_SIZE "breakingIterationsGroupSize"
#define	INPUT_XML_DROP_PERCENT "dropPercent"
#define	INPUT_XML_MAX_INDEX_OPTIMIZATION "maxIndexForOptimizations"
#define	INPUT_XML_MAX_INDEX_IMPROVED_GREEDY	"maxIndexForImprovedGreedy"
#define	INPUT_XML_PERCENT_START_IMPROVED_GREEDY "percentOfVerticesToStartImprovedGreedy"
#define	INPUT_XML_PERCENT_STOP_IMPROVED_GREEDY "percentOfVerticesToStopImprovedGreedy"
#define	INPUT_XML_NUM_PAIRS_IMPROVED_GREEDY	"numberOfPairsInImprovedGreedy"
#define	INPUT_XML_FAST_MODE	"fastMode"
#define	INPUT_XML_BASE_GROUP_INDEX "baseGroupIndex"
#define	INPUT_XML_DEST_CHAIN_SIZE "destinationChainSize"

#endif //XMLDEFINITIONS_H
